Video playback systems typically work with compressed video. Compression of a video can be done using a variety of different codes, and corresponding codecs compress the video by removing redundant information from frames of the video such that the redundant information may be reconstructed when the frames are displayed. Many codecs use I-, P-, and B-frames. An I-frame is decoded without reference to another frame, a P-frame is decoded with reference to one or more frames that are displayed before the P-frame, and a B-frame is decoded with reference to one or more frames that are displayed after the B-frame and zero or more frames that are displayed before the B-frame. In playback of an I-P-B video, the video playback system typically decompresses the frames of the video by decoding the frames in a decode order that is different from the display order, usually due to dependencies of B-frames. Thus, decoding the frames in display order may result in incorrect decompression of the video. Furthermore, decoding multiple frames to display a particular frame may result in a delay between the display of the particular frame and the display of a succeeding frame, due to the relatively large amount of decoding that is to be performed. Furthermore, the complexities introduced by B-frames also make reverse-mode playback and jump-mode more challenging.